<?php

class ExceptionHandler {
	
	/**
	 * @author Daniel Cardoza, Gary Dos Santos, Freddy Rodriguez
	 */
	function __construct ( Exception $Ex ) {
           
            $plantillaP = new Panel( "../View/Html/Plantilla.html" );
            $plantillaEC = new Panel( "../View/Html/Encabezado.html" );
            $plantillaEC->add( "TITULO" , "Error" );
            $plantillaEC->add( $_SESSION );

            if ( $_SESSION['USR_PRIVILEGIO'] == 'ADMIN' ){
                $plantillaPrivilegio = new Panel( "../View/Html/MenuPrivilegio.html" );
                $plantillaEC->add( "MENU_PRIVILEGIO" , $plantillaPrivilegio );
            }

            $plantillaP->add( "ENCABEZADO" , $plantillaEC );
            $plantillaCON = new Panel( "../View/Html/Mensaje.html" );
            $errorMessage = "Se ha producido un error en la aplicacion. Por favor vuelva al inicio e intente de nuevo.";
            $text = get_class($Ex) . ": '{$Ex->getMessage()}' in {$Ex->getFile()}({$Ex->getLine()})\n\n{$Ex->getTraceAsString()}";
            $errorMessage .= "<br /><br /><h3 style=\"text-align: left;\">A cotinuación se muestran detalles del error:</h3>";
            $errorMessage .= '<div style="text-align: left; font: 12px Courier, monospace; margin: 5px;">';
            $errorMessage .= nl2br(htmlentities($text));
            $errorMessage .= '</div>';
            $plantillaCON->add( "MENSAJE" , $errorMessage );
            $plantillaP->add( "CONTENIDO" , $plantillaCON );
            $plantillaPIE = new Panel( "../View/Html/Pie.html" );
            $plantillaP->add( "PIE" , $plantillaPIE );
            $plantillaP->show();
            exit;

	}
        
}

?>